/// id : "1654727890652147755"
/// isDel : 0
/// createBy : "admin"
/// updateBy : "admin"
/// createTime : 1683352847
/// updateTime : 1693557207
/// parentId : "-1"
/// allPath : "-1654727890652147755-"
/// sysType : "MB"
/// name : "MB队伍"
/// code : "mbdw"
/// isType : -1
/// label : "-1"
/// remark : "-1"
/// jsonData : null
/// level : "-1"
/// sort : 0
/// num : null
/// value : null
/// children : null
/// personNum : null
/// functionList : []
/// isShow : null
/// showType : null

class OrganizationTypeDto {
  OrganizationTypeDto({
      String? id, 
      int? isDel, 
      String? createBy, 
      String? updateBy,
    int? createTime,
    int? updateTime, 
      String? parentId, 
      String? allPath, 
      String? sysType, 
      String? name, 
      String? code,
    int? isType, 
      String? label, 
      String? remark, 
      dynamic jsonData, 
      String? level,
    int? sort, 
      dynamic num, 
      dynamic value, 
      dynamic children, 
      dynamic personNum, 
      List<dynamic>? functionList, 
      dynamic isShow, 
      dynamic showType,}){
    _id = id;
    _isDel = isDel;
    _createBy = createBy;
    _updateBy = updateBy;
    _createTime = createTime;
    _updateTime = updateTime;
    _parentId = parentId;
    _allPath = allPath;
    _sysType = sysType;
    _name = name;
    _code = code;
    _isType = isType;
    _label = label;
    _remark = remark;
    _jsonData = jsonData;
    _level = level;
    _sort = sort;
    _num = num;
    _value = value;
    _children = children;
    _personNum = personNum;
    _functionList = functionList;
    _isShow = isShow;
    _showType = showType;
}

  OrganizationTypeDto.fromJson(dynamic json) {
    _id = json['id'];
    _isDel = json['isDel'];
    _createBy = json['createBy'];
    _updateBy = json['updateBy'];
    _createTime = json['createTime'];
    _updateTime = json['updateTime'];
    _parentId = json['parentId'];
    _allPath = json['allPath'];
    _sysType = json['sysType'];
    _name = json['name'];
    _code = json['code'];
    _isType = json['isType'];
    _label = json['label'];
    _remark = json['remark'];
    _jsonData = json['jsonData'];
    _level = json['level'];
    _sort = json['sort'];
    _num = json['num'];
    _value = json['value'];
    _children = json['children'];
    _personNum = json['personNum'];
    if (json['functionList'] != null) {
      _functionList = [];
      json['functionList'].forEach((v) {
        _functionList?.add(v);
      });
    }
    _isShow = json['isShow'];
    _showType = json['showType'];
  }
  String? _id;
  int? _isDel;
  String? _createBy;
  String? _updateBy;
  int? _createTime;
  int? _updateTime;
  String? _parentId;
  String? _allPath;
  String? _sysType;
  String? _name;
  String? _code;
  int? _isType;
  String? _label;
  String? _remark;
  dynamic _jsonData;
  String? _level;
  int? _sort;
  dynamic _num;
  dynamic _value;
  dynamic _children;
  dynamic _personNum;
  List<dynamic>? _functionList;
  dynamic _isShow;
  dynamic _showType;
OrganizationTypeDto copyWith({  String? id,
  int? isDel,
  String? createBy,
  String? updateBy,
  int? createTime,
  int? updateTime,
  String? parentId,
  String? allPath,
  String? sysType,
  String? name,
  String? code,
  int? isType,
  String? label,
  String? remark,
  dynamic jsonData,
  String? level,
  int? sort,
  dynamic num,
  dynamic value,
  dynamic children,
  dynamic personNum,
  List<dynamic>? functionList,
  dynamic isShow,
  dynamic showType,
}) => OrganizationTypeDto(  id: id ?? _id,
  isDel: isDel ?? _isDel,
  createBy: createBy ?? _createBy,
  updateBy: updateBy ?? _updateBy,
  createTime: createTime ?? _createTime,
  updateTime: updateTime ?? _updateTime,
  parentId: parentId ?? _parentId,
  allPath: allPath ?? _allPath,
  sysType: sysType ?? _sysType,
  name: name ?? _name,
  code: code ?? _code,
  isType: isType ?? _isType,
  label: label ?? _label,
  remark: remark ?? _remark,
  jsonData: jsonData ?? _jsonData,
  level: level ?? _level,
  sort: sort ?? _sort,
  num: num ?? _num,
  value: value ?? _value,
  children: children ?? _children,
  personNum: personNum ?? _personNum,
  functionList: functionList ?? _functionList,
  isShow: isShow ?? _isShow,
  showType: showType ?? _showType,
);
  String? get id => _id;
  int? get isDel => _isDel;
  String? get createBy => _createBy;
  String? get updateBy => _updateBy;
  int? get createTime => _createTime;
  int? get updateTime => _updateTime;
  String? get parentId => _parentId;
  String? get allPath => _allPath;
  String? get sysType => _sysType;
  String? get name => _name;
  String? get code => _code;
  int? get isType => _isType;
  String? get label => _label;
  String? get remark => _remark;
  dynamic get jsonData => _jsonData;
  String? get level => _level;
  int? get sort => _sort;
  dynamic get num => _num;
  dynamic get value => _value;
  dynamic get children => _children;
  dynamic get personNum => _personNum;
  List<dynamic>? get functionList => _functionList;
  dynamic get isShow => _isShow;
  dynamic get showType => _showType;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['id'] = _id;
    map['isDel'] = _isDel;
    map['createBy'] = _createBy;
    map['updateBy'] = _updateBy;
    map['createTime'] = _createTime;
    map['updateTime'] = _updateTime;
    map['parentId'] = _parentId;
    map['allPath'] = _allPath;
    map['sysType'] = _sysType;
    map['name'] = _name;
    map['code'] = _code;
    map['isType'] = _isType;
    map['label'] = _label;
    map['remark'] = _remark;
    map['jsonData'] = _jsonData;
    map['level'] = _level;
    map['sort'] = _sort;
    map['num'] = _num;
    map['value'] = _value;
    map['children'] = _children;
    map['personNum'] = _personNum;
    if (_functionList != null) {
      map['functionList'] = _functionList?.map((v) => v.toJson()).toList();
    }
    map['isShow'] = _isShow;
    map['showType'] = _showType;
    return map;
  }

}